Within the field of document security, machine-readable marks, known as barcodes, are often appended to printed documents in order to convey security information. The barcode is printed on a label or onto the document itself. To extract the security information, a barcode reader scans the document, detects the barcode, and decodes the security information from the barcode.
One application of document security is to ensure that a printed document has not been altered or subject to tampering in some unauthorized manner from the time the document was first printed. For example, a contract that has been agreed upon and signed on a particular date may subsequently be fraudulently altered and it is desirable to be able to detect such alterations in detail. Similarly, security documents of various sorts, such as cheques and monetary instruments for recording values, are vulnerable to fraudulent alteration. Detection of any fraudulent alteration in such documents is therefore desirable. Further, it is desirable that such detection be performed automatically, and that the detection reveals the nature of any alteration.
Various methods of document tamper detection have been proposed and used. One approach to tamper detection uses watermarks or two-dimensional (2D) barcodes printed on the document to encode information about the original document contents. The encoded document is then printed and distributed to recipients. When the document contents are to be verified, the document is scanned to extract the encoded information from the watermark or 2D barcode. The encoded information is then compared to the respective features of the suspect document. Any changes between the encoded representation of the original document and the suspect document represent a possible instance of tampering. However, the printing and scanning processes themselves produce changes to the content of the document, resulting in a suspect document that is different from the encoded document. These changes are difficult to distinguish from tamper.